Selective caching of real time messaging threads

ABSTRACT

A method is provided to process data in a wireless data exchange. The method includes exchanging data between two or more wireless devices in real time and opening a thread of communications between the wireless devices, where the thread includes one or more data exchanges between the wireless devices. When the real time messaging exchange has been established, the method identifies all or portions of the thread as potential data to store. As such data is identified, the method selectively caches the identified portions of the thread for future data retrieval.

TECHNICAL FIELD

The subject innovation relates to wireless communications and, moreparticularly, to store selective portions of a real time messagingthread.

BACKGROUND

As is evident in common cell phone experiences, modern communicationshave moved beyond basic voice capabilities. With the addition of textand picture messaging between peers, along with inclusion of rich mediafrom both traditional and new providers of entertainment and content,mobile systems in particular have become increasingly complex. Althoughthis technology landscape is filled with opportunity, unprecedentedinteroperability challenges are faced by such systems. When thesesystems are augmented with presence—the ability to know if and howmembers of one's community can be reached—and the spontaneity of InstantMessaging, there is an even more exciting dimension added to thedynamics of voice, text, and rich media exchange. Such new technologiesare sometimes referred to as next generation messaging.

In general, next generation messaging includes at least Mobile InstantMessaging (IM), Presence, and Interconnect services. These services aredesigned to enable service providers to deliver next generationmessaging and services to their customers to create highly interactivecommunities. Such services are offered in conjunction with the world'sleading mobile and fixed-line operators, and handset manufacturers. Asthese companies define and deploy their core services and product lines,an in-depth appreciation of requirements of subscribers is needed. As aresult, interoperability services enable a rapidly evolving market,interconnecting operator instant message (IM) networks worldwide for afast growing customer base of operators whose combined subscriber baseis over 200 million. The close cooperation between mobile operators andmanufacturers together with a focus on innovation, design and customerneeds will facilitate the communications industry's pursuit of trueglobal interconnected IM communities.

Mobile instant messaging provides a platform for creative, innovativeand differentiated next generation services that increase revenues,strengthen customer loyalty and build the operator's brand. The resultis the ability to provide a compelling service offering to customers whovalue staying connected in new, meaningful ways. Presence servicesenable people within a community to keep connected anytime, any place.When they indicate their availability or see that their contacts areon-line, presence is a catalyst for interactive services for those userswho demand an enriched communications environment. These services enablereal-time, personalized next generation services, includingperson-to-person and person-to-computer services such as gaming,conferencing, chat rooms and real-time information services or“info-buddies.” Integrating with fixed and mobile operators' networks orIM service cores, presence services also works from within IM coreservices to power fixed-mobile convergence and cross-network presenceservices. Instant message interconnectivity is essential in enablingoperators to offer their customers the immediacy of instant messaging tofreely communicate across multiple IM communities—mobile and fixed. Nextgeneration messaging services are the driving force behind theinteroperability activities worldwide and provides operators with aglobal neutral IM hub connecting all major IM components.

Although there is much power and utility provided by the set of servicesin next generation messaging, other aspects of the services are lackingin some cases. For instance, real time messaging is often conducted intext and in a rapid manner. Sometimes two or more parties are textingand sending other data in real time. In many cases, it might bedesirable to recall data from a real time session yet currently, thereis not a convenient manner in which to identify let alone save desiredreal time messaging information.

SUMMARY

The following presents a simplified summary of the innovation in orderto provide a basic understanding of some aspects of the invention. Thissummary is not an extensive overview of the invention. It is intended toneither identify key or critical elements of the invention nor delineatethe scope of the invention. Its sole purpose is to present some conceptsof the invention in a simplified form as a prelude to the more detaileddescription that is presented later.

Systems and methods are provided to enable selective caching of realtime data such as mobile instant messaging data. As communications occurbetween users and/or between users and machines, data that is present ina conversation or exchanged between devices can be marked in real time.The marked or selected data is then conveniently cached in memory whereit can be recalled at a later time. In one example, selective caching ofportions of a messaging thread is provided. This allows users to mark apotion (or portions) of a Next Generation Messaging (NGM) messagingthread for persistence in memory. This can facilitate easy access to themarked portions of the threaded message at a later time. One convenientway to mark a conversation for example is to merely use a text symbol(or voice command) to indicate which portion of a real time thread tocache. For example, using an “!” (e.g., exclamation point) symbol tomark the third thread of a message exchange to be cached. It is notedthat the entire portion of a thread can be saved and/or portions withina thread can be selected for caching in memory.

Selective caching can further facilitate persistence of the markedportion where the thread is cleared (e.g., the conversation is stillopen between participants but the content of the thread is wiped clean)and/or where the thread is deleted (e.g., the conversation is closedwith or without clearing the content of the thread). For example, a usercan be in a group threaded conversation with another employee andsupervisor, where supervisor can send out a contact phone number whichthe user can mark for storage. This marked content is saved when theuser clears the rest of the conversation later that day. The user canaccess the stored content that evening when sending out an interviewinvite to another party for example.

To the accomplishment of the foregoing and related ends, the invention,then, comprises the features hereinafter fully described. The followingdescription and the annexed drawings set forth in detail certainillustrative aspects of the invention. However, these aspects areindicative of but a few of the various ways in which the principles ofthe invention may be employed. Other aspects, advantages and novelfeatures of the invention will become apparent from the followingdetailed description of the invention when considered in conjunctionwith the drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 a schematic block diagram of a mobile wireless system whereselective portions of real time message or data exchanges are identifiedand cached for later retrieval.

FIG. 2 is a block diagram of a system that employs automatic selectioncomponents based in part on predetermined policy or learning.

FIG. 3 is a block diagram of a system that employs automatic dataselection in a message exchange based in part on location.

FIG. 4 is a flow diagram illustrating a method that utilizes manual orautomatic selection to cache portions of a real time message exchange.

FIGS. 5-6 are diagrams illustrating example portions of a message threadthat have been selected and cached.

FIGS. 6-10 illustrate example systems that can be employed withselective caching of real time message exchanges.

DETAILED DESCRIPTION

Systems and methods are provided to facilitate data exchange in a realtime wireless messaging environment. In one aspect, a method is providedto process data in a wireless data exchange. This includes employing aprocessor to control access to a wireless device. The method alsoincludes exchanging data between two or more wireless devices in realtime and opening a thread of communications between the wirelessdevices, where the thread includes one or more data exchanges betweenthe wireless devices. When the real time messaging exchange has beenestablished, the method identifies all or portions of the thread aspotential data to store. As such data is identified, the methodselectively caches the identified portions of the thread for future dataretrieval.

As used in this application, the terms “component,” “system,”“platform,” “cache,” “mark,” and the like are intended to refer to acomputer-related entity, either hardware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a server and the server can be a component. One or more componentsmay reside within a process and/or thread of execution and a componentmay be localized on one computer and/or distributed between two or morecomputers. Also, these components can execute from various computerreadable media having various data structures stored thereon. Thecomponents may communicate via local and/or remote processes such as inaccordance with a signal having one or more data packets (e.g., datafrom one component interacting with another component in a local system,distributed system, and/or across a network such as the Internet withother systems via the signal).

Referring initially to FIG. 1, a system 100 illustrates a mobilewireless environment where selective portions of real time message ordata exchanges are identified and cached for later retrieval. The system100 includes two or more devices 110-130 that are employed in a realtime message exchange in what is typically a wireless transfer of data.The message exchange includes a communications thread 140 having one ormore segments 160-170 of communications. As used herein, the term threadimplies an open dialog or electronic window on one or more of thedevices 110-130 that shows and exchange of substantially real time data.For example, the communications thread 140 might include an instantmessage exchange between devices 110-130, where each segment 150-170represents dialog (e.g., text message) or information exchange (e.g.,posting of an image or music/video clip) sent from one or more of thedevices. For instance, segment 150 may be a text message from a firstuser employing device 110 whereas segment 160 is from a second user thatemploys device 120. As can be appreciated, one device 110-130 couldgenerate all the segments 150-170 or multiple devices could createsegments and are respectively in no particular order (e.g., device 130could send segment 150 or first message whereas device 110 sendssubsequent messages and so forth).

A selection component 180 is employed to identify a segment 150-170 (ora portion of a segment) to be selectively cached by a processorassociated with the respective devices 110-130. For purposes of brevity,only one selection component 180 is shown but each of the devices110-130 can have their own selection component to enable each respectiveuser to cache information as desired. Similarly, a policy component 190is shown that can be employed to set up automatic rules for selecting oridentifying data to be cached and stored on the devices 110-130. As withthe selection component 180, an individual policy component 190 can beconfigured for each device 110-130. In general, the selection component180 can mark or identify any portion of the thread 140 for caching onthe devices 110-130. The selection can include indicating an individualsegment such as shown at 160 as marking the thread to be stored. Theselection can also including marking or identifying within a thread150-170 such as highlighting a small set of text within a larger body oftext in a segment. Also, more than one segment 150-170 can be selectedfor storage on the device.

It is noted that storage of selected segment or segment portions canoccur on the respective devices 110-130 and/or can be stored on serversassociated with the devices. This can include temporarily cachinginformation on the device and later downloading to the server for morepermanent storage if desired. It is further noted that the selectioncomponent 180 can use substantially any gesture or symbol to identify asegment or portion thereof. This can include using a symbol (e.g., !, @,#, $, *, and so forth). Drag and drop actions by a cursor component (notshown) can be employed by the selection component 180 along withbiometric commands such as voice commands (e.g., save segment four),touch screen selections (e.g., use finger to drag over desired text orother data for selection), or substantially any type of indication fromthe user that directs the devices 110-130 on which portion of thecommunications thread 140 is desirable to be saved. While acts such asidentifying a thread or portions of a thread can be achieved via atextual or biometric gesture, other features can also be provided. Forexample, users can “un-cache” messages at any time if desired. Thus, ata high level, users can go to a specific message in a conversation thatwas previously saved (or select the message through a “saved messages”area), and choose to “un-save or un-cache” the respective message. Ascan be appreciated, groups of messages can also be selected and removedfrom the cache or other memory in a similar manner.

In general, the system 100 enables selective caching of real time datasuch as mobile instant messaging data. As communications occur betweenusers and/or between users and devices 110-130, data that is present ina conversation or exchanged between devices can be marked in real time.The marked or selected data is then conveniently cached in memory (onthe devices and/or remote servers) where it can be recalled at a latertime. In one example, selective caching of portions of the messagingthread 140 is provided. This allows users to mark a potion (or portions)of a Next Generation Messaging (NGM) messaging thread for persistence inmemory. This can facilitate easy access to the marked portions of thethreaded message at a later time. One convenient way to mark aconversation for example is to merely use a text symbol (or voicecommand) to indicate which portion of a real time thread 150-170 tocache. For example, using a “%” (e.g., percent) symbol to mark the thirdthread 170 of a message exchange to be cached. It is noted that theentire portion of a thread 150-170 can be saved and/or portions within athread can be selected for caching in memory.

Selective caching can further facilitate persistence of the markedportion where the thread is cleared (e.g., the conversation is stillopen between participants but the content of the thread is wiped clean)and/or where the thread is deleted (e.g., the conversation is closedwith or without clearing the content of the thread). For example, a usercan be in a group threaded conversation with another employee andsupervisor at 140, where supervisor can send out a contact phone numberwhich the user can mark for storage. This marked content is saved whenthe user clears the rest of the conversation later that day. The usercan access the selected content that evening when sending out aninterview invite to another party for example. In another aspect, asystem 100 for real time message exchanges is provided. The systemincludes means for initiating a message dialog (e.g., devices 110-130)and means for conducting a conversation within the message dialog (e.g.,communications thread 140). The system 100 also includes means forselecting portions of the conversation in the message dialog (e.g.,selection component 180) and means for automatically storing theportions of the conversation (e.g., policy component 190).

FIG. 2 is a system 200 that employs automatic selection components basedin part on predetermined policy or learning. In this aspect, particularrules or policies can be pre-configured via a policy component 210 todetermine how often or when particular segments 220-240 areautomatically cached in a thread 250. Thus, an automatic selectioncomponent 260 is provided to cache one or more segments 220-240 (orportions thereof) based upon rules or other considerations stored in thepolicy component 210. One example rule or policy could be toautomatically cache all data from a particular user. Another policycould be to store any detected cell phone number that is not alreadyfound in a user's address book. Yet another policy could be to cache anydetected audio or video file or always cache detected images. Otherpolicies may apply to groups of users. For example, whenever these fourindividuals text message with me, save all comments from user 1 or saveall comments from the group and so forth.

In a more elaborate aspect, the policy component 210 may includeintelligent aspects such as classifiers that analyze message dataexchanges based on observed or detected patterns of usage. This caninclude an inference component (not shown) that further enhancesautomated caching aspects utilizing, in part, inference based schemes tofacilitate inferring automated policies 210. For example, a learningcomponent may detect over time that whenever exchanges are with aparticular user or regarding a particular subject, that a user alwaysdecides to cache data associated with the respective message exchange.Thus, an automated policy can be setup via the learning to alwayscapture the segment or portion thereof. The classifiers can beimplemented via any suitable machine learning based technique orstatistical-based techniques or probabilistic-based techniques or fuzzylogic techniques. Specifically, these components can implement modelsbased upon learning processes (e.g., confidence, inference). Forexample, a parameter adjustment model can be generated via an automaticclassifier system.

A support vector machine (SVM) is an example of a classifier that can beemployed. Other directed and undirected model classification approachesinclude, e.g., naïve Bayes, Bayesian networks, decision trees, andprobabilistic classification models providing different patterns ofindependence can be employed. Classification as used herein also isinclusive of statistical regression that is utilized to develop modelsof usage, access, storage, or denial. Classifiers can be explicitlytrained (e.g., via a generic training data) as well as implicitlytrained (e.g., via observing user behavior, receiving extrinsicinformation). For example, SVM's can be configured via a learning ortraining phase within a classifier constructor. In other words, the useof expert systems, fuzzy logic, support vector machines, greedy searchalgorithms, rule-based systems, Bayesian models (e.g., Bayesiannetworks), neural networks, other non-linear training techniques, datafusion, utility-based analytical systems, systems employing Bayesianmodels, etc. are contemplated and are intended to fall within the scopeof the hereto appended claims.

FIG. 3 is a system 300 that employs automatic data selection in amessage exchange based in part on location. In this aspect, particularrules or policies applied via a global positioning system (GPS) 310 todetermine how often or when particular segments 320-340 areautomatically cached in a thread 350. Thus, an automatic selectioncomponent 360 is provided to cache one or more segments 320-340 (orportions thereof) based upon detected locations of the GPS 310. The GPScomponent 310 can also be employed in conjunction with the policycomponent described above. For example, a policy could be to alwayscache message segments when a person is in a given location such as aroom in their home. Another policy may be to cache segments that areassociated with messages that may be received in a particular locationsuch as ads or coupons that may be pushed automatically from a retailoutlet for example. Still yet other location policies may determine thatwhen a person is traveling in their car that they would want messageexchanges saved. Substantially any type of policy that automaticallysaves segments or portions thereof can be employed. Yet another policyexample includes work situations. Thus, if a user is detected in aparticular meeting room, they may want certain message exchanges saved.In a more detailed example, a policy may be configured that when a useris detected in a particular room AND a particular user is exchangingmessages with them, that they would want those particular messagesautomatically captured and saved. Thus, Boolean combinations of policiesand/or detected locations, and/or learned policies can be applied toautomatically determine real time message data to be stored for a givenuser.

FIG. 4 is a method 400 that utilizes manual or automatic selection tocache portions of a real time message exchange. Proceeding to 410, acommunications link is established between devices. This can includereal time data exchanges between mobile devices, a mobile device and adesktop device, and between various combinations thereof. In general, areal time dialog or other type thread should be opened between partiesin order to exchange data between devices. At 420, a thread is openedthat establishes a real time communications session (e.g., instantmessage session) between the devices. This can include providing aninterface for each party to the thread. It is noted, that each devicemay present a different interface or display in order to exchange datawith the respective thread. This may include providing text boxes fortyping or speaking instant message data for example.

Proceeding to 430, one or more policies can be set or adjusted to enablethe automated caching of data. As previously described, manually createdpolicies or learned policies can be established that automatically cacheand store real time message data. Such policies can also be implementedin view of a detected location as previously described. At 440, one ormore threads are selected for storage to a cache or other memorycomponent. As noted previously, such selection can be effectuated viamessage characters and/or via one or more biometric gestures (e.g.,voice or touch screen display). Such selection can also includeselecting a portion of a particular message segment (e.g., save theselected three words of the previous four sentences from the indicatedsegment). At 450, after the segment or portion has been selected in 440,the thread or thread portion is cached. This can include caching basedupon manual selection of a real time exchange and/or can includeautomated actions to select and consequently store the respective data.Such data can include text, audio, video, images, files, orsubstantially any type of data that can be exchanged in substantiallyreal time among users.

FIGS. 5-6 are diagrams illustrating example portions of a message threadthat have been selected and cached. With respect to FIG. 5, a display500 indicates that there are a plurality of messages that have beencached and having one or more portions saved from a previous real timemessage exchange. For example, referring to FIG. 6, a “*” (star symbol)is employed to enable users to indicate which portion of a real timemessage thread in which to save. As shown at 610, a saved portion of adialog correlates to a previous conversation thread 520 depicted back atFIG. 5. As can be appreciated, a plurality of manual or automatedstorage of threads or portions of threads can be captured. As can beappreciated, substantially any type of symbol or other indication can beemployed to mark or select a given segment, segments, or portionthereof.

FIG. 7 illustrates an additional or alternative example embodiment of awireless system that can implement features and aspects described hereinand operated in accordance with such features and aspects. The exampleembodiment 700 can include a modem 702 that can wirelessly communicatewith a wide area network, for example, employing a 2G/3G/3.5G/4Gwireless connection. As an example, the modem 702 can be a wireless widearea network (WWAN) modem/transceiver such as aGPRS/EDGE/CDMA/UMTS/HSPA/LTE modem that can transfer digital images (orother media files) and/or control data. Moreover, the modem 702 canoperate in any of the commonly used wireless spectrum bands. As anexample, the modem 702 can be IPv6 (Internet Protocol version 6)enabled. It can be appreciated that the modem 702 can be embedded in thesystem 700 or external to the system and can be connected to an antenna704 to receive and/or transmit data. The antenna 704 can be external orinternal. Moreover, the modem 702 can receive instructions sent by aremote user (e.g. system subscriber) over a network, e.g, a mobilenetwork platform that serves a network of deployed access points, tochange one or more settings and/or perform one or more functions on theexample system 700, for example, load, delete or play a file.Furthermore, the modem 702 can also be configured to receive wirelessalerts (SMS, Image)/broadcast from a mobile network platform.Additionally, the example system 700 of a can include a SIM (SubscriberIdentity Module) or USIM (Universal Subscriber Identity Module) 706associated with the system users account subscription. The SIM or USIM706 can be prepaid, flat rate monthly, or usage based. Further, the SIMor USIM 706 may need to be a locked to the specific type of device(e.g., a wireless digital media that employs a WWAN modem) to prevent itfrom being used in a mobile phone or wireless data device to preventnetwork abuse if lower rates, including flat rate, are offered to thesystem subscribers.

A media receiving component 708 can receive media files, e.g.,content(s), sent to the example system 700 through an access point viathe modem 702. Received media files can be displayed through displaycomponent 7010. The modem 702 can include control functions to enablecommunication with the WWAN and transfer of data in the downlink. Themodem 702 can be downlink enabled and can optionally allow the abilityto transfer data in the uplink (UL) direction beyond control channels.For example, the system 700 can transfer data associated with availablefree space in memory 7012 to a mobile network platform in the UL.Further, the modem 702 can be configured to allow network control suchthat transfer of data (scheduling) could occur at various times of theday based on network/sector loading due to traffic and propagationconditions and/or based on user preferences. Further, the modem 702 canbe configured to work on a prepaid condition or active account orunlimited usage account.

The system 700 can typically include a processor 714 that can be aprocessor based controller chip. Specifically, the processor 714 can bea processor dedicated to analyzing information received by modem 702and/or generating information for transmission on the UL, a processorthat controls one or more components of the system 700, a processor thatfacilitates output of media files on a display screen 1016 or viaspeaker 718, and/or a processor that both analyzes information receivedby modem 702, generates information for transmission on the UL, controlsone or more components of the system 700 and facilitates output of mediafiles on a display screen 716 or via speaker 714.

The system 700 can additionally comprise memory 712 that is operativelycoupled to processor 714 and that can store data to be transmitted,received data, data associated with analyzed signal and/or interferencestrength, information related to an assigned channel, power, rate, orthe like, and any other suitable information for estimating a channeland communicating via the channel. Memory 712 can additionally storemedia files received from a sender over a network. Further, memory 712can also store user preferences and/or predefined user settings. In oneexample, memory 712 can be partitioned, such that locally downloadedmedia files (e.g. downloaded by an end user) are stored in one partitionand remotely downloaded media files (e.g., content(s) are stored inanother partition. A number of program modules can be stored in thememory 712, including an operating system, one or more applicationprograms, other program modules and/or program data. It is appreciatedthat the aspects described herein can be implemented with variouscommercially available operating systems or combinations of operatingsystems.

Additionally, a system bus (not shown) can be employed to couple systemcomponents including, but not limited to, the system memory 712 to theprocessor 714. The system bus can be any of several types of busstructure that may further interconnect to a memory bus (with or withouta memory controller), a peripheral bus, and a local bus using any of avariety of commercially available bus architectures.

The media files received from the mobile wireless network can bedisplayed on the display screen 716 and/or audio files can be played viathe speaker 718. It can be appreciated that the media files stored inthe memory 712 can also be received via ports such as, but not limitedto, USB, USB2, 1395, SD card, Compact Flash, etc. Additionally, system700 can include a power supply/battery 720 that can be employed to powerthe system. As an example, power management techniques can be employedto save battery power, such that the battery can last longer betweenrecharge cycles.

An end user can enter commands and information through one or morewired/wireless input devices, e.g., a keyboard, a pointing device, suchas a mouse and/or a touch screen display 716. A microphone 722 can alsobe employed to enter data. For example, the end user can employ themicrophone 722 to enter an audio clip associated with an image. Theseand other input devices are often connected to the processor 714 throughan input device interface (not shown) that is coupled to a system bus,but can be connected by other interfaces, such as a parallel port, anIEEE 1394 serial port, a game port, a USB port, an IR interface, and soforth

The system 700 can further include a codec 724 that can be employedencode and/or decode digital data. The codec 724 can employ most anycompression and/or decompression algorithm to compress/decompress areceived media file. Furthermore, the system 700 can include a GPS(global positioning system) 726 that can be employed to determine thecurrent geographical coordinates of the example the system 700. The GPS726 can include a separate GPS antenna (not shown) or employ the antenna704 to communicate with a GPS satellite. In one example, the exampleembodiment system 700 can receive broadcast warnings, emergency alerts,weather alerts, etc. based on the current coordinates.

In addition, the example embodiment 700 is operable to communicate withany wireless devices or entities operatively disposed in wirelesscommunication, e.g., a printer, scanner, desktop and/or portablecomputer, portable data assistant, communications satellite, any pieceof equipment or location associated with a wirelessly detectable tag,and telephone. This includes at least Wi-Fi and Bluetooth™ wirelesstechnologies. Thus, the communication can be a predefined structure aswith a conventional network or simply an ad hoc communication between atleast two devices.

Wi-Fi, or Wireless Fidelity, allows connection to the Internet from acouch at home, a bed in a hotel room, or a conference room at work,without wires. Wi-Fi is a wireless technology that enables such devices,e.g., computers, to send and receive data indoors and out; anywherewithin the range of a base station. Wi-Fi networks use radiotechnologies called IEEE 802.11 (a, b, g, etc.) to provide secure,reliable, fast wireless connectivity. A Wi-Fi network can be used toconnect computers to each other, to the Internet, and to wired networks(which use IEEE 802.3 or Ethernet). Wi-Fi networks operate in theunlicensed 2.4 and 5 GHz radio bands, at an 11 Mbps (802.11a) or 54 Mbps(802.11b) data rate, for example, or with products that contain bothbands (dual band), so the networks can provide real-world performancesimilar to the basic 10BaseT wired Ethernet networks used in manyoffices.

To provide further context for various aspects of the subjectspecification, FIG. 8 illustrates a block diagram of an exampleembodiment 800 of a mobile 805 that can deliver content(s) or signalingdirected to a device in accordance with aspects described herein.Additionally, FIG. 9 presents a block diagram of an example embodiment900 of a non-mobile device 905, which can be provisioned through anon-mobile network platform and can be employed to convey content(s) orsignaling to a device in accordance with aspects described herein.Furthermore, FIG. 10 presents an example embodiment 1000 of a mobilenetwork platform 1010 which can provide content management service inaccordance with aspects described herein.

In mobile 805 of FIG. 8, which can be a multimode access terminal, a setof antennas 809 ₁-809 _(Q) (Q is a positive integer) can receive andtransmit signal(s) from and to wireless devices like access points,access terminals, wireless ports and routers, and so forth that operatein a radio access network. It should be appreciated that antennas 809₁-809 _(Q) are a part of communication platform 810, which compriseselectronic components and associated circuitry that provide forprocessing and manipulation of received signal(s) and signal(s) to betransmitted; e.g., receivers and transmitters 812, mux/demux component814, and mod/demod component 816.

In the system 800, multimode operation chipset(s) 820 allows mobile 805to operate in multiple communication modes in accordance with disparatetechnical specification for wireless technologies. In an aspect,multimode operation chipset(s) 820 utilizes communication platform 810in accordance with a specific mode of operation (e.g., voice, GlobalPositioning System (GPS)). In another aspect, multimode operationchipset(s) 820 can be scheduled to operate concurrently (e.g., when Q>1)in various modes or within a multitask paradigm.

Mobile 805 includes access component 822 and can convey content(s) orsignaling in accordance with aspects described herein. It should beappreciated that access component 822, can include a display interfacethat render content in accordance with aspects of an interface component(not shown) that resides within access component 822.

Mobile 805 also includes a processor 835 configured to conferfunctionality, at least in part, to substantially any electroniccomponent within mobile 805, in accordance with aspects of the subjectinnovation. As an example, processor 835 can be configured to execute,at least in part, instructions in multimode operation chipset(s) thatafford multimode communication through mobile 805 such as concurrent ormultitask operation of two or more chipset(s). As another example,processor 835 can facilitate mobile 805 to receive and convey signalingand content(s) (e.g., various data flows) that are part of an activemanagement act initiated by a subscriber that operates mobile 805, or anapproval cycle associated with auxiliary subscribers (e.g., secondarysubscriber, tertiary subscriber . . . ). Moreover, processor 835facilitates mobile 805 to process data (e.g., symbols, bits, or chips)for multiplexing/demultiplexing, modulation/demodulation, such asimplementing direct and inverse fast Fourier transforms, selection ofmodulation rates, selection of data packet formats, inter-packet times,etc. Memory 855 can store data structures (e.g., metadata); codestructure(s) (e.g., modules, objects, classes, procedures) orinstructions; network or device information like policies andspecifications, attachment protocols; code sequences for scrambling,spreading and pilot (e.g., reference signal(s)) transmission; frequencyoffsets, cell IDs, and so on.

In the system 800, processor 835 is functionally coupled (e.g., througha memory bus) to memory 855 in order to store and retrieve informationnecessary to operate and/or confer functionality, at least in part, tocommunication platform 810, multimode operation chipset(s) 820, accesscomponent 822, and substantially any other operational aspects ofmultimode mobile 805.

FIG. 9 is a block diagram of an example system 900 of a non-mobiledevice that can convey content(s) exploit various aspects of contenttransaction(s) as described herein. Device 905 includes a functionalplatform 910 that comprises a set of components (not shown) thatprovide, at least in part, one or more specific functionalities of thenon-mobile device 905. Additionally, non-mobile device 905 includes anaccess component 925 that operates in accordance with aspects describedhereinbefore. Moreover, in an aspect, non-mobile device 905 can includea communication platform 930 that can provide wireless communicationcapabilities in addition, or alternatively, to connectivity ofnon-mobile device 905 through wired links (e.g., Ethernet, USB, GPIB,RS-232, FireWire, optical or coaxial cable connection to a networkinterface such as network interface, or router (not shown)). Withrespect to wireless capability, in non-mobile device 905, which can be amultimode access terminal, a set of antennas 937 ₁-937 _(P) (P is apositive integer) can receive and transmit signal(s) from and towireless devices like access points, access terminals, wireless portsand routers, etc., that operate in a radio access network. Communicationplatform 930 can exploit the set of P antennas 937 ₁-937 _(K), (K is apositive integer) to establish communication within various modes suchas single-input single-output, or multiple-input multiple output.

Additionally, in non-mobile device 905, a peripheral component 940 caninclude, or facilitate connection to, additional devices such asprinter(s), media player(s), wireless router(s) (e.g., networkinterface), biometrics touch-pad(s), etc. In an aspect, to afford suchconnectivity, peripheral component 940 can include jacks for one or moreof Ethernet, USB, GPIB, RS-232, FireWire, optical or coaxial cableconnectors. Additionally, display interface 945 can be a part offunctional platform 910 (e.g., when non-mobile device 905 is a PC, anIPTV interface, a mobile, a back projector component, a data projector .. . ). In an aspect, display interface 945 can be a liquid crystaldisplay (LCD), a plasma panel, a monolithic thin-film basedelectro-chromic display, and so on. It should be appreciated thatrendering areas in display interface 945 can be substantially disparate.

It should be appreciated that non-mobile device 905 also can include adata entry interface 950 that can allow an end user to perform at leastone of (i) command non-mobile device via configuration of functionalplatform 910, (ii) deliver content(s) or signaling directed inaccordance to aspects described herein, or (iii) generate content(s)(e.g., images via a built-in camera) or directive(s) for subscribedcontent.

Power supply 975 can power-up device 905 and substantially any componentincluded thereon. It should be appreciated that alternative oradditional embodiments of device 905 may not include power supply 975and be powered via an attachment to a conventional power grid.

In the system 900, non-mobile device 905 includes processor 985 whichcan be functionally coupled (e.g., through a memory bus) to memory 995in order to store and retrieve information to operate and/or conferfunctionality, at least in part, to access component 925, andsubstantially any component(s) thereon in accordance with aspectsdescribed herein; functional platform 910; communication platform 930and substantially any other component of non-mobile device 905. Withrespect to access component 925, and components thereon, processor 985can be configured to execute access protocols to convey credentials andgains access to a content management service to convey multimediacontent(s) or signaling to a subscribed WDMF. In addition, in connectionwith communication platform 930, processor 985 is configured to conferfunctionality, at least in part, to substantially any electroniccomponent within communication platform 930. Moreover, processor 985facilitates communication platform 930 to process traffic and controldata (e.g., symbols, bits, or chips) for multiplexing/demultiplexing,modulation/demodulation, such as implementing direct and inverse fastFourier transforms, selection of modulation rates, selection of datapacket formats, inter-packet times, etc.

Memory 995 also can retain multimedia content(s) or security credentials(e.g., passwords, encryption keys, digital certificates) that facilitateaccess to a content management service. In addition, memory 995 canstore data structures (e.g., metadata); code structure(s) (e.g.,modules, objects, classes, procedures) or instructions, or substantiallyany type of software or firmware that processor 985 can execute toprovide functionality associated with functional platform 930; networkor device information like policies and specifications; code sequencesfor scrambling, spreading and pilot (e.g., reference signal(s))transmission; and so on.

As indicate supra, FIG. 10 presents an example system 1000 of a mobilenetwork platform 1010 which can provide a content management service forcontent(s) and signaling in accordance with aspects described herein.Generally, mobile network platform 1010 can include components, e.g.,nodes, gateways, interfaces, servers, or platforms, that facilitate bothpacket-switched (PS) (e.g., internet protocol (IP), frame relay,asynchronous transfer mode (ATM)) and circuit-switched (CS) traffic(e.g., voice and data) and control generation for networked wirelesscommunication. In an aspect, as described above, component within PSdomain of network platform 1010 can be employed to effect communicationamong sources of content(s) and subscriber files in accordance withaspects described herein.

With respect to CS communication, mobile network platform 1010 includesCS gateway node(s) 1012 which can interface CS traffic received fromlegacy networks such as telephony network(s) 1014 (e.g., public switchedtelephone network (PSTN), or public land mobile network (PLMN)) or a SS7network 1016. Circuit switched gateway node(s) 1012 can authorize andauthenticate traffic (e.g., voice) arising from such networks.Additionally, CS gateway node(s) 1012 can access mobility, or roaming,data generated through SS7 network 2260; for instance, mobility datastored in a visitation location register (VLR), which can reside inmemory 1020. Moreover, CS gateway node(s) 1012 interfaces CS-basedtraffic and signaling and gateway node(s) 1022. As an example, in a 3GPPUMTS network, CS gateway node(s) 1012 can be embodied, at least in part,in gateway GPRS support node(s) (GGSN).

In addition to receiving and processing CS-switched traffic (e.g.,content(s) that can be part of a content(s) transmitted by a serviceprovider) and signaling, PS gateway node(s) 1022 can authorize andauthenticate PS-based data sessions with served mobile devices,non-mobile devices, and access points. Data sessions can includetraffic, or content(s), exchange with networks external to the mobilenetwork platform 1010, such as wide area network(s) (WANs) 1030 orservice network(s) 1040; it should be appreciated that local areanetwork(s) (LANs) 1050 can also be interfaced with mobile networkplatform 1010 through PS gateway node(s) 1022. Packet-switched gatewaynode(s) 1022 generates packet data contexts when a data session isestablished. To that end, in an aspect, PS gateway node(s) 1022 caninclude a tunnel interface (e.g., tunnel termination gateway (TTG) in3GPP UMTS network(s) (not shown)) which can facilitate packetizedcommunication with disparate wireless network(s), such as networkplatform and associated radio access network, Wi-Fi networks. It shouldbe further appreciated that the packetized communication can includemultiple flows that can be generated through service (e.g.,provisioning) and application server(s) 1060. It is to be noted that in3GPP UMTS network(s), PS gateway node(s) 1022 (e.g., GGSN) and tunnelinterface (e.g., TTG) comprise a packet data gateway (PDG).

The mobile network platform 1010 also includes serving node(s) 1070 thatconvey the various packetized flows of data streams (e.g., content(s) orsignaling directed to a subscribed data), received through PS gatewaynode(s) 1022. As an example, in a 3GPP UMTS network, serving node(s)1070 can be embodied in serving GPRS support node(s) (SGSN).

Server(s) 1060 in mobile network platform 1010 can execute numerousapplications (e.g., location services, online gaming, wireless banking,wireless device management . . . ) that can generate multiple disparatepacketized data streams or flows, and manage (e.g., schedule, queue,format . . . ) such flows. Such application(s), for example can includeadd-on features to standard services provided by mobile network platform1010. Data streams (e.g., content(s) or signaling directed to a file)can be conveyed to PS gateway node(s) 1022 forauthorization/authentication and initiation of a data session, and toserving node(s) 1070 for communication thereafter.

Server(s) 1060 can also effect security (e.g., implement one or morefirewalls) of mobile network platform 1010 to ensure network's operationand data integrity in addition to authorization and authenticationprocedures that CS gateway node(s) 1012 and PS gateway node(s) 1022 canenact. Moreover, server(s) 1060 can provision services from externalnetwork(s), e.g., WAN 1030, or Global Positioning System (GPS)network(s) (not shown). It is to be noted that server(s) 1060 caninclude one or more processor configured to confer at least in part thefunctionality of macro network platform 1010. To that end, the one ormore processor can execute code instructions stored in memory 1020, forexample. It is should be appreciated that server(s) 1060 can include acontent manager 1080.

In example wireless environment 2200, memory 2230 can store informationrelated to operation of mobile network platform 2210. Information caninclude content(s) directed to WDMF received from various sources ofcontent(s), as described herein, subscriber account(s) 327 andassociated credential(s), and delivery settings(s) 329, additionalsubscriber data; pricing schemes, e.g., promotional rates, flat-rateprograms, couponing campaigns; technical specification(s) of servedWDMFs; and so forth. Memory 2230 can also store information from atleast one of telephony network(s) 2240, WAN 2250, LAN 2270, SS7 network2260, or service network(s) 2280.

In view of the example systems described above, example methodologiessuch as depicted in FIG. 4 can be implemented in accordance with thedisclosed subject matter and can be better appreciated with reference toflowcharts described herein. For purposes of simplicity of explanationexample methods are presented and described as a series of acts;however, it is to be understood and appreciated that the claimed subjectmatter is not limited by the order of acts, as some acts may occur indifferent orders and/or concurrently with other acts from that shown anddescribed herein. For example, those skilled in the art will understandand appreciate that a methodology could alternatively be represented asa series of interrelated states or events, such as in a state diagram,or interaction diagram. Moreover, not all illustrated acts may berequired to implement a methodology in accordance with the subjectspecification. Additionally, it should be further appreciated that themethodologies disclosed hereinafter and throughout this specificationare capable of being stored on an article of manufacture to facilitatetransporting and transferring such methodologies to computers forexecution by a processor or for storage in a memory.

As it employed in the subject specification, the term “processor” canrefer to substantially any computing processing unit or devicecomprising, but not limited to comprising, single-core processors;single-processors with software multithread execution capability;multi-core processors; multi-core processors with software multithreadexecution capability; multi-core processors with hardware multithreadtechnology; parallel platforms; and parallel platforms with distributedshared memory. Additionally, a processor can refer to an integratedcircuit, an application specific integrated circuit (ASIC), a digitalsignal processor (DSP), a field programmable gate array (FPGA), aprogrammable logic controller (PLC), a complex programmable logic device(CPLD), a discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. Processors can exploit nano-scale architectures suchas, but not limited to, molecular and quantum-dot based transistors,switches and gates, in order to optimize space usage or enhanceperformance of user equipment. A processor may also be implemented as acombination of computing processing units.

In the subject specification, terms such as “data store,” data storage,”“database,” and substantially any other information storage componentrelevant to operation and functionality of a component, refer to “memorycomponents,” or entities embodied in a “memory” or components comprisingthe memory. For example, information relevant to operation of variouscomponents described in the disclosed subject matter, and that can bestored in a memory, can comprise, but is not limited to comprising,subscriber information; femto cell configuration (e.g., devices servedby a femto AP; access control lists, or white lists) or service policiesand specifications; privacy policies; and so forth. It will beappreciated that the memory components described herein can be eithervolatile memory or nonvolatile memory, or can include both volatile andnonvolatile memory. By way of illustration, and not limitation,nonvolatile memory can include read only memory (ROM), programmable ROM(PROM), electrically programmable ROM (EPROM), electrically erasable ROM(EEPROM), or flash memory. Volatile memory can include random accessmemory (RAM), which acts as external cache memory. By way ofillustration and not limitation, RAM is available in many forms such assynchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM),double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), SynchlinkDRAM (SLDRAM), and direct Rambus RAM (DRRAM). Additionally, thedisclosed memory components of systems or methods herein are intended tocomprise, without being limited to comprising, these and any othersuitable types of memory.

Various aspects or features described herein may be implemented as amethod, apparatus, or article of manufacture using standard programmingand/or engineering techniques. The term “article of manufacture” as usedherein is intended to encompass a computer program accessible from anycomputer-readable device, carrier, or media. For example, computerreadable media can include but are not limited to magnetic storagedevices (e.g., hard disk, floppy disk, magnetic strips . . . ), opticaldisks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ),smart cards, and flash memory devices (e.g., card, stick, key drive . .. ).

In addition, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or.” That is, unless specified otherwise, or clearfrom context, “X employs A or B” is intended to mean any of the naturalinclusive permutations. That is, if X employs A; X employs B; or Xemploys both A and B, then “X employs A or B” is satisfied under any ofthe foregoing instances. Moreover, articles “a” and “an” as used in thesubject specification and annexed drawings should generally be construedto mean “one or more” unless specified otherwise or clear from contextto be directed to a singular form.

Moreover, terms like “user equipment,” “mobile station,” “mobile,”subscriber station,” “access terminal,” “terminal,” “handset,” andsimilar terminology, refer to a wireless device utilized by a subscriberor user of a wireless communication service to receive or convey data,control, voice, video, sound, gaming, or substantially any data-streamor signaling-stream. The foregoing terms are utilized interchangeably inthe subject specification and related drawings. Likewise, the terms“access point,” “base station,” “Node B.” “evolved Node B,” and thelike, are utilized interchangeably in the subject application, and referto a wireless network component or appliance that serves and receivesdata, control, voice, video, sound, gaming, or substantially anydata-stream or signaling-stream from a set of subscriber stations. Dataand signaling streams can be packetized or frame-based flows.

What has been described above includes examples of systems and methodsthat provide advantages of the subject innovation. It is, of course, notpossible to describe every conceivable combination of components ormethodologies for purposes of describing the claimed subject matter, butone of ordinary skill in the art may recognize that many furthercombinations and permutations of the claimed subject matter arepossible. Furthermore, to the extent that the terms “includes,” “has,”“possesses,” and the like are used in the detailed description, claims,appendices and drawings such terms are intended to be inclusive in amanner similar to the term “comprising” as “comprising” is interpretedwhen employed as a transitional word in a claim.

What is claimed is:
 1. A method, comprising: facilitating, by a wirelessdevice comprising a processor, establishing an instant messagecommunication session, wherein the instant message communication sessioncomprises a first portion and a second portion that are part of a sameinstant message; determining, by the wireless device, a location of thewireless device; identifying, by the wireless device, the first portionof the instant message communication session based on the location ofthe wireless device; identifying, by the wireless device, that the firstportion of the instant message is to be persisted; and in response to adeletion of the instant message communication session, persisting, bythe wireless device, the first portion and deleting, by the wirelessdevice, the second portion.
 2. The method of claim 1, further comprisingmarking, by the wireless device, the first portion of the instantmessage communication session with a character indicating the firstportion is to be persisted.
 3. The method of claim 1, further comprisingmarking, by the wireless device, the first portion of the instantmessage communication session, as a result of a biometric operation,indicating the first portion of the instant message communicationsession is to be persisted.
 4. The method of claim 1, wherein thegenerating the instant message communication session includes generatingimage data.
 5. The method of claim 1, wherein the generating the instantmessage communication session includes receiving the first portion ofthe instant message communication session from a first source andreceiving the second portion of the instant message communicationsession from a second source.
 6. The method of claim 1, furthercomprising sending, by the wireless device, the first portion of theinstant message communication session for storage on a mobile device inresponse to the identifying that the first portion of the instantmessage communication session is to be persisted.
 7. The method of claim1, further comprising sending, by the wireless device, the first portionof the instant message communication session for storage on a remoteserver in response to the identifying that the first portion of theinstant message communication session is to be persisted.
 8. The methodof claim 1, wherein the identifying includes identifying the firstportion of the instant message communication session that is to bepersisted according to a rule.
 9. The method of claim 1, furthercomprising determining, by the wireless device, the first portion of theinstant message communication session including receiving input relatingto operation of the wireless device.
 10. The method of claim 9, whereinthe receiving the input includes receiving classifier input from aclassifier identifying a pattern of usage of the wireless device. 11.The method of claim 1, wherein the determining the location of thewireless device includes receiving global positioning system inputrelating to a positional operation of the wireless device.
 12. Awireless device, comprising: a memory to store computer-executableinstructions; and a processor, communicatively coupled to the memory,which facilitates execution of the computer-executable instructions toperform operations, comprising: presenting an instant messagecommunication session, wherein the communication session comprises afirst portion and a second portion that are part of a same instantmessage; identifying that the first portion is to be persisted based onpolicy data representing a policy identifying the first portion to bepersisted based on a determined location of the wireless device; and inresponse to an indication to delete the instant message communicationsession, persisting the first portion in memory and deleting the secondportion.
 13. The wireless device of claim 12, wherein the policyidentifying the first portion is based on a predefined criterionrelating to a notification received from a device located at thedetermined location.
 14. The wireless device of claim 12, wherein theoperations further comprise adding a text symbol to the first portion toindicate the first portion is to be persisted.
 15. A non-transitorycomputer-readable storage medium having computer-executable instructionsthat, in response to execution, cause a computing system including aprocessor to perform operations, comprising: facilitating conducting aninstant message communication session, wherein the instant messagecommunication session comprises a first portion and a second portionthat are part of a same instant message; determining a location of thecomputing system; identifying the first portion of the instant messagebased on the location; and identifying by the computer system, that thefirst portion of the instant message is to be persisted; in response toreceiving an instruction to delete the instant message communicationsession, persisting the first portion of the instant message anddeleting the second portion of the instant message.
 16. Thenon-transitory computer-readable storage medium of claim 15, wherein theinstant message communication session includes audio data.
 17. Thenon-transitory computer-readable storage medium of claim 15, wherein theinstant message communication session includes video data.
 18. Thenon-transitory computer-readable storage medium of claim 15, wherein theinstant message communication session includes text data.
 19. The methodof claim 1, wherein the identifying the first portion of the instantmessage communication includes identifying the first portion of theinstant message communication according to a policy associated with thelocation of the wireless device.
 20. The wireless device of claim 12,wherein the determined location of the wireless device is defined by aglobal positioning system input.